package cc.rengu.igas.mcps.core.realize;/*
 *Create by fuyp on 2020-3-28
 */

import cc.rengu.oltp.service.model.TxnInfo;

/*
 * 完成pos的基础的公共安全校验，mac验签，地理位置校验，sn校验，签到校验，
 * 终端状态校验，商户状态校验，商户业务权限，终端业务权限校验。
 * */
public interface PosPublicCheckService {

    /**
     * 公共校验pos的基础的公共安全校验，mac验签，地理位置校验，sn校验，签到校验，
     */
    void posPublicCheckService() throws Exception;

    /**
     * 智能终端校验，校验商户状态、终端状态、商户秘钥
     */
    void illtPublicCheckService() throws Exception;

    /**
     * 商户和终端的业务权限校验
     */
    void posPublicAuthCtrlCheckService(TxnInfo txnInfo) throws Exception;

    /**
     * 退款公共业务校验
     */
    void posPublicRefundCheckService() throws Exception;

    /**
     * 预授权完成公共检查
     *
     * @throws Exception 异常
     */
    void posPublicAuthComCheck() throws Exception;

    /**
     * 撤销交易公共检查
     *
     * @throws Exception 异常
     */
    void posPublicCancelCheck(TxnInfo txnInfo) throws Exception;

    /**
     * 冲正交易公共检查
     *
     * @throws Exception 异常
     */
    void posPublicRevsalCheckService(TxnInfo txnInfo) throws Exception;
}
